package cn.edu.scnu.socialapp.service;

import cn.edu.scnu.socialapp.model.entity.User;
import cn.edu.scnu.socialapp.model.vo.Result;
import cn.edu.scnu.socialapp.model.vo.UserVo;
import cn.edu.scnu.socialapp.model.vo.params.EmailCodeParams;
import cn.edu.scnu.socialapp.model.vo.params.LoginParams;
import cn.edu.scnu.socialapp.model.vo.params.RegisterParams;

import java.awt.image.BufferedImage;

public interface UserService {

    Result findUserByToken(String token);

    Result login(LoginParams loginParams);

    User findUser(String account, String password);

    Result logout(String token);

    Result register(RegisterParams registerParams);

    Result sendEmailCode(EmailCodeParams emailCodeParams);

    User findUserByUserId(Long userId);

    UserVo findUserVoByUserId(Long userId);
    
    String generateRandomCaptcha(int digits);

    BufferedImage generateCaptchaImage(String captcha);
}
